热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CVPR2021|SETR:使用Transformer从序列到序列的角度重新思考语义分割

​ 前言 本文介绍了一篇CVPR2021的语义分割论文,论文将语义分割视为序列到序列的预测任务,基于transformer作为编码器,介绍了三种解码器方式,选择其中效果最好的解码器

 

前言 

本文介绍了一篇CVPR2021的语义分割论文,论文将语义分割视为序列到序列的预测任务,基于transformer作为编码器,介绍了三种解码器方式,选择其中效果最好的解码器方式与transformer编码器组成了一个新的SOTA模型--SETR。

论文:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

代码:https://fudan-zvg.github.io/SETR

 

本文来自公众号CV技术指南的论文分享系列

 


创新思路



现有的语义分割模型基本都基于FCN,FCN是由编码器和解码器组成的架构。编码器用于特征表示学习,而解码器用于对编码器产生的特征表示进行像素级分类。在这两者中,特征表示学习(即编码器)可以说是最重要的模型组件。与大多数其他为图像理解而设计的 CNN 一样,编码器由堆叠的卷积层组成。由于对计算成本的关注,特征图的分辨率逐渐降低,因此编码器能够学习更多抽象/语义视觉概念,感受野逐渐增加。

然而,编码器有一个基本限制,即学习远程依赖信息对于无约束场景图像中的语义分割至关重要,由于仍然有限的感受野而变得具有挑战性

为了克服上述限制,最近引入了许多方法。一种方法是直接操纵卷积操作。这包括大内核大小、多孔卷积和图像/特征金字塔。另一种方法是将注意力模块集成到 FCN 架构中。这样的模块旨在对特征图中所有像素的全局交互进行建模。当应用于语义分割时,一个常见的设计是将注意力模块与 FCN 架构相结合,注意力层位于顶部。无论采用哪种方法,标准编码器解码器 FCN 模型架构都保持不变。最近,已经尝试完全摆脱卷积并部署注意力模型。

最近,一些SOTA方法表明将 FCN 与注意力机制相结合是学习远程上下文信息的更有效策略。这些方法将注意力学习限制在更小的输入尺寸的更高层,因为它的复杂度是特征张量的像素数的平方。这意味着缺乏对较低级别特征张量的依赖学习,导致次优表示学习。

为了克服这个限制,论文旨在重新思考语义分割模型设计并贡献一个替代方案,用纯transformer代替基于堆叠卷积层的编码器,逐渐降低空间分辨率,从而产生一种新的分割模型,称为 SEgmentation TRansformer (SETR)。这种单独的transformer编码器将输入图像视为由学习的补丁嵌入表示的图像补丁序列,并使用全局自注意力模型转换该序列以进行判别特征表示学习。

 


Methods




Segmentation transformers (SETR)

图片


首先将图像分解为固定大小的补丁网格,形成补丁序列。将线性嵌入层应用于每个补丁的扁平像素向量,然后获得一系列特征嵌入向量作为transformer的输入。给定从编码器transformer学习的特征,然后使用解码器来恢复原始图像分辨率。至关重要的是,编码器transformer的每一层都没有空间分辨率的下采样,而是全局上下文建模,从而为语义分割问题提供了一个全新的视角。

Image to sequence

此处没什么创新,将图像分成16块,每块通过flatten操作变成向量,向量的长度为HW/16,分块的目的是为了缩小向量的长度,否则计算量太大。为了学习到像素之间的空间信息,将对每个像素进行位置编码,再与向量相加。

transformer encoder

此处没什么创新,与原始transformer一样,由multi-head self-attention (MSA) 和 Multilayer Perceptron(MLP) 块组成。MSA与MLP是transformer的基本部分,此处对于MSA与MLP的介绍略过。重点介绍下面论文的创新部分。


Decoder designer



为了评估编码器部分的特征表示,论文设计了三种解码器方式。在此之前需要将编码器的输出Z从向量reshape成H/16 x W/16 x C的形状。

1. 原始上采样 (Naive unsampling) 

解码器将编码器输出的特征映射到类别空间,做法是采用了一个简单的 2 层网络将通道数变为类别数量。其架构为:1 × 1 conv + 同步BatchNorm(w/ ReLU)+ 1 × 1 conv。之后,简单地将输出双线性上采样到完整的图像分辨率,然后是具有像素级交叉熵损失的分类层。当使用这个解码器时,这种模型表示为 SETR-Naive。

2. Progressive UPsampling (PUP) 

论文考虑一种渐进式上采样策略,而不是可能会引入嘈杂预测的一步上采样策略,该策略交替使用 conv 层和上采样操作。为了最大限度地减轻对抗效应,我们将上采样限制为 2 倍。因此,总共需要 4 次操作才能从 H/ 16 × W /16 转换到图像原分辨率。这个过程的更多细节在图 1(b) 中给出。使用此解码器时,将模型表示为 SETR-PUP。

图片


3. Multi-Level feature Aggregation (MLA)

 第三种设计的特点是多级特征聚合(图 c)与特征金字塔网络类似。然而,我们的解码器根本不同,因为每个 SETR 层的特征表示 Zl共享相同的分辨率,没有金字塔形状。

图片


具体来说,我们将来自 M 层的特征表示 {Zm} (m ∈ { Le /M , 2 Le/ M , · · · , M Le /M }) 作为输入,这些特征表示从 M 层均匀分布在具有步骤长为 Le /M 。然后部署 M 个流,每个流都专注于一个特定的选定层。

在每个流中,我们首先将编码器的特征 Zl 从 HW /256 × C 的 2D 形状reshape为 3D 特征图 H/ 16 × W/ 16 × C。一个 3 层(kernel大小为 1 × 1、3 × 3 和 3  × 3) 网络,第一层和第三层的特征通道分别减半,第三层后通过双线性操作将空间分辨率提升4倍。

为了增强不同流之间的交互,我们在第一层之后通过逐元素添加引入了自上而下的聚合设计。在逐元素添加功能之后应用额外的 3 × 3 conv。在第三层之后,我们通过通道级连接从所有流中获得融合特征,然后将其双线性上采样 4 倍至全分辨率。使用此解码器时,将模型表示为 SETR-MLA。


Conclusion



三种解码器方式之间的结果对比,结果表明SETR-PUP方式最好。

图片


与其它SOTA模型的对比。SETR 在 ADE20K (50.28% mIoU)、Pascal Context (55.83% mIoU) 和 Cityscapes 上的竞争结果上取得了最新SOTA结果。特别是,在提交当天就在竞争激烈的ADE20K测试服务器排行榜中获得了第一名。

图片


效果可视化

图片


 欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

 在公众号中回复关键字 “技术总结”可获取公众号原创技术总结文章的汇总pdf。

​​


其它文章

ICCV2021 | SMCA:即插即用的共同注意力模型,可使DETR收敛加速10倍

深度学习模型大小与模型推理速度的探讨

速度提升2倍,超强悍CPU级骨干网络PP-LCNet出世

目标检测中回归损失函数总结

视频目标检测与图像目标检测的区别

单阶段实例分割综述

Siamese network综述    |    姿态估计综述    |    语义分割综述

视觉Transformer综述    |    2021年小目标检测最新研究综述

CV算法工程师的一年工作经验与感悟

视频理解综述:动作识别、时序动作定位、视频Embedding

CVPR2021提出的一些新数据集汇总

小目标检测常用方法总结

从CVPR 2021的论文看计算机视觉的现状

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | 深度理解CNN

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | TransCenter: transformer用于多目标跟踪算法

CVPR2021 | 继SE,CBAM后的一种新的注意力机制Coordinate Attention

CVPR2021 | 开放世界的目标检测

CVPR2021 | 开放世界检测综述

CVPR2021 | TimeSformer-视频理解的时空注意模型

CVPR2021 | 一个高效的金字塔切分注意力模块PSA

CVPR2021 | 特征金字塔的新方式YOLOF

CVPR2021 | 华为诺亚实验室提出Transformer in Transformer

CVPR2021 | 行人搜索中的第一个anchor-free模型

经典论文系列 | 胶囊网络:新的深度学习网络

经典论文系列 | 重新思考在ImageNet上的预训练

经典论文系列 | Group Normalization & BN的缺陷

经典论文系列 | 目标检测--CornerNet  & 又名 anchor boxes的缺陷

经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

 



推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 本文介绍了如何将PPT格式转换成PDF,并推荐了一款高效的PPT转换成PDF转换器。该转换器利用最新的超线程技术核心和多核心CPU性能,提高了转换效率和转换质量。同时,该转换器具备万能转换模式,可以轻松实现不同类型、不同内容和不同排版的PPT文件的转换。用户可以通过下载链接获取该转换器。 ... [详细]
author-avatar
Fater-_635
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有